<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Win32k: winmgr.c 文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Win32k
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a03719.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">宏定义</a> &#124;
<a href="#func-members">函数</a>  </div>
  <div class="headertitle">
<div class="title">kernel/winmgr.c 文件参考</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="a03629_source.html">precomp.h</a>&quot;</code><br />
</div>
<p><a href="a03719_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:a1ed7c4938db174bf188e94c535f33293"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a1ed7c4938db174bf188e94c535f33293">CCHMAXNAME</a>&#160;&#160;&#160;80</td></tr>
<tr class="separator:a1ed7c4938db174bf188e94c535f33293"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:ac4eb6e458aa2e77855b2ed1578b1b691"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#ac4eb6e458aa2e77855b2ed1578b1b691">xxxFlashWindow</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, BOOL fFlash)</td></tr>
<tr class="separator:ac4eb6e458aa2e77855b2ed1578b1b691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ec097461fd97f7c417658ef2a5b1ba6"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a7ec097461fd97f7c417658ef2a5b1ba6">xxxEnableWindow</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, BOOL fEnable)</td></tr>
<tr class="separator:a7ec097461fd97f7c417658ef2a5b1ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36cfede9f8f282d7abf1756d093b1bb"><td class="memItemLeft" align="right" valign="top">LONG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#ac36cfede9f8f282d7abf1756d093b1bb">xxxDoSend</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, <a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message, <a class="el" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> wParam, LONG lParam)</td></tr>
<tr class="separator:ac36cfede9f8f282d7abf1756d093b1bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a966ff3b0314d5b7f25d03ccf40ebaa10"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a966ff3b0314d5b7f25d03ccf40ebaa10">xxxGetWindowText</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, LPTSTR psz, int cchMax)</td></tr>
<tr class="separator:a966ff3b0314d5b7f25d03ccf40ebaa10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f63b25286a002fa0d0d820d8125e16a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a3f63b25286a002fa0d0d820d8125e16a">_InternalGetWindowText</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, LPWSTR psz, int cchMax)</td></tr>
<tr class="separator:a3f63b25286a002fa0d0d820d8125e16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1cf014eb02c4e3036e4865fed2fbe33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#aa1cf014eb02c4e3036e4865fed2fbe33">xxxSetParent</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, <a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwndNewParent)</td></tr>
<tr class="separator:aa1cf014eb02c4e3036e4865fed2fbe33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ef4f9df6feeae3bcbc0088aadf311f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a64ef4f9df6feeae3bcbc0088aadf311f">_FindWindowEx</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwndParent, <a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwndChild, LPWSTR lpszClass, LPWSTR lpszName, <a class="el" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwType)</td></tr>
<tr class="separator:a64ef4f9df6feeae3bcbc0088aadf311f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00899.html#ad630942f849e878d598c472f66720d55">PCHECKPOINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd)</td></tr>
<tr class="separator:a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6acf7cac97512048e6b9a0c786bd93a"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#ab6acf7cac97512048e6b9a0c786bd93a">_GetWindowPlacement</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, PWINDOWPLACEMENT pwp)</td></tr>
<tr class="separator:ab6acf7cac97512048e6b9a0c786bd93a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9564af3f5fcba7f5c1a43d4d9096bded"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a9564af3f5fcba7f5c1a43d4d9096bded">CheckPlacementBounds</a> (LPRECT lprc, LPPOINT ptMin, LPPOINT ptMax)</td></tr>
<tr class="separator:a9564af3f5fcba7f5c1a43d4d9096bded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09a7158e05f9a7e9a4caebb281bb5844"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a09a7158e05f9a7e9a4caebb281bb5844">xxxSetWindowPlacement</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, PWINDOWPLACEMENT pwp)</td></tr>
<tr class="separator:a09a7158e05f9a7e9a4caebb281bb5844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab09296c4345d9498a0a634e78912a214"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#ab09296c4345d9498a0a634e78912a214">_GetInternalWindowPos</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, LPRECT lprcWin, LPPOINT lpptMin)</td></tr>
<tr class="separator:ab09296c4345d9498a0a634e78912a214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0757ec38bbb60069882d782dbb933221"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a0757ec38bbb60069882d782dbb933221">xxxSetInternalWindowPos</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd, <a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> cmdShow, LPRECT lprcWin, LPPOINT lpptMin)</td></tr>
<tr class="separator:a0757ec38bbb60069882d782dbb933221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f4972bedfb6481f3116706ba83a70d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a1f4972bedfb6481f3116706ba83a70d1">_GetDesktopWindow</a> (VOID)</td></tr>
<tr class="separator:a1f4972bedfb6481f3116706ba83a70d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c48f6bdd99bf8fee75d67f1b1b4d01"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a03719.html#a52c48f6bdd99bf8fee75d67f1b1b4d01">TestWindowProcess</a> (<a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> pwnd)</td></tr>
<tr class="separator:a52c48f6bdd99bf8fee75d67f1b1b4d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">宏定义说明</h2>
<a id="a1ed7c4938db174bf188e94c535f33293"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed7c4938db174bf188e94c535f33293">&#9670;&nbsp;</a></span>CCHMAXNAME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CCHMAXNAME&#160;&#160;&#160;80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00409">409</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">函数说明</h2>
<a id="a64ef4f9df6feeae3bcbc0088aadf311f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64ef4f9df6feeae3bcbc0088aadf311f">&#9670;&nbsp;</a></span>_FindWindowEx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> _FindWindowEx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwndParent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwndChild</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPWSTR&#160;</td>
          <td class="paramname"><em>lpszClass</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPWSTR&#160;</td>
          <td class="paramname"><em>lpszName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>&#160;</td>
          <td class="paramname"><em>dwType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00411">411</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;{</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <a class="code" href="a02913.html">PBWL</a>    pbwl;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    HWND    *phwnd;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <a class="code" href="a02581.html">PWND</a>    pwnd;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    WORD    atomClass = 0;</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    LPWSTR  lpName;</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordflow">if</span> (lpszClass != NULL) {</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        atomClass = FindClassAtom(lpszClass);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keywordflow">if</span> (atomClass == 0) {</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;            <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        }</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    }</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="comment">     * Setup parent window</span></div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keywordflow">if</span> (!pwndParent)</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        pwndParent = <a class="code" href="a03719.html#a1f4972bedfb6481f3116706ba83a70d1">_GetDesktopWindow</a>();</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="comment">     * Setup first child</span></div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordflow">if</span> (!pwndChild) {</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        pwndChild = pwndParent-&gt;<a class="code" href="a02581.html#a6171c9000ea2060597a9bcf498ee0316">spwndChild</a>;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        <span class="keywordflow">if</span> (pwndChild-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> != pwndParent) {</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;                 <span class="stringliteral">&quot;FindWindowEx: Child window doesn&#39;t have proper parent&quot;</span>);</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;            <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        }</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160; </div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        pwndChild = pwndChild-&gt;<a class="code" href="a02581.html#af729b7de7a8fb84b70b70c4b401ce789">spwndNext</a>;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    }</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160; </div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">     * Generate a list of top level windows.</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="keywordflow">if</span> ((pbwl = <a class="code" href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a>(pwndChild, BWL_ENUMLIST, NULL)) == NULL) {</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    }</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160; </div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="comment">     * Set pwnd to NULL in case the window list is empty.</span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    pwnd = NULL;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160; </div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keywordflow">for</span> (phwnd = pbwl-&gt;<a class="code" href="a02913.html#abebc9955f9d1fbc422612b6eab345d2e">rghwnd</a>; *phwnd != (HWND)1; phwnd++) {</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="comment">             * Validate this hwnd since we left the critsec earlier (below</span></div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="comment">             * in the loop we send a message!</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;            <span class="keywordflow">if</span> ((pwnd = RevalidateHwnd(*phwnd)) == NULL)</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;                <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="comment">             * make sure this window is of the right type</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;            <span class="keywordflow">if</span> (dwType != FW_BOTH) {</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;                <span class="keywordflow">if</span> (((dwType == FW_16BIT) &amp;&amp; !(GETPTI(pwnd)-&gt;TIF_flags &amp; TIF_16BIT)) ||</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;                    ((dwType == FW_32BIT) &amp;&amp; (GETPTI(pwnd)-&gt;TIF_flags &amp; TIF_16BIT)))</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;            }</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="comment">             * If the class is specified and doesn&#39;t match, skip this window</span></div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;            <span class="keywordflow">if</span> (!atomClass || (atomClass == pwnd-&gt;<a class="code" href="a02581.html#a9ac6b15978318e3401ef9a878ccb40ac">pcls</a>-&gt;<a class="code" href="a02569.html#a95d33e332d37066b5b5e05231b824991">atomClassName</a>)) {</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;                <span class="keywordflow">if</span> (!lpszName)</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;                <span class="keywordflow">if</span> (pwnd-&gt;<a class="code" href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">strName</a>.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a>) {</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;                    lpName = pwnd-&gt;<a class="code" href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">strName</a>.<a class="code" href="a02457.html#a99314e2f6ea6b552b9538bbe7b7e64ba">Buffer</a>;</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;                } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;                    lpName = <a class="code" href="a00020.html#aa6a72bcda08bb85cd8c46b2980008ae6">szNull</a>;</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;                }</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160; </div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="comment">                 * Is the text the same? If so, return with this window!</span></div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                <span class="keywordflow">if</span> (_wcsicmp(lpszName, lpName) == 0)</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;            }</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160; </div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="comment">             * The window did not match.</span></div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;            pwnd = NULL;</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        }</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    } except (EXCEPTION_EXECUTE_HANDLER) {</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        pwnd = NULL;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    }</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160; </div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="a00674.html#ac42b3a26d86746846b51a69d11fc0797">FreeHwndList</a>(pbwl);</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160; </div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keywordflow">return</span> ((*phwnd == (HWND)1) ? NULL : pwnd);</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a03719_source.html#l00990">_GetDesktopWindow()</a>, <a class="el" href="a00365_source.html#l01326">tagCLS::atomClassName</a>, <a class="el" href="a00365_source.html#l00284">_LARGE_UNICODE_STRING::Buffer</a>, <a class="el" href="a00017_source.html#l00112">BuildHwndList()</a>, <a class="el" href="a00674_source.html#l00340">FreeHwndList()</a>, <a class="el" href="a00365_source.html#l00281">_LARGE_UNICODE_STRING::Length</a>, <a class="el" href="a00365_source.html#l01403">tagWND::pcls</a>, <a class="el" href="a00899_source.html#l02498">tagBWL::rghwnd</a>, <a class="el" href="a00371_source.html#l00029">RIP_WARNING</a>, <a class="el" href="a00371_source.html#l00131">RIPMSG0</a>, <a class="el" href="a00365_source.html#l01393">tagWND::spwndChild</a>, <a class="el" href="a00365_source.html#l01391">tagWND::spwndNext</a>, <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a>, <a class="el" href="a00365_source.html#l01414">tagWND::strName</a> , 以及 <a class="el" href="a00020_source.html#l00051">szNull</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l06950">NtUserFindWindowEx()</a> , 以及 <a class="el" href="a03614_source.html#l01120">NtUserWOWFindWindow()</a>.</p>

</div>
</div>
<a id="a1f4972bedfb6481f3116706ba83a70d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f4972bedfb6481f3116706ba83a70d1">&#9670;&nbsp;</a></span>_GetDesktopWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> _GetDesktopWindow </td>
          <td>(</td>
          <td class="paramtype">VOID&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00990">990</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;{</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;    <a class="code" href="a02889.html">PTHREADINFO</a>  pti = <a class="code" href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a>();</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    <a class="code" href="a02609.html">PDESKTOPINFO</a> pdi;</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160; </div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    <span class="keywordflow">if</span> (pti == NULL)</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;        <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160; </div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    pdi = pti-&gt;<a class="code" href="a02889.html#a76d4881aa4c15330103e83a80e6b5dc7">pDeskInfo</a>;</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160; </div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;    <span class="keywordflow">return</span> pdi == NULL ? NULL : pdi-&gt;<a class="code" href="a02609.html#a68937d60a6f49b7a8431db62b38ea721">spwnd</a>;</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00899_source.html#l02291">tagTHREADINFO::pDeskInfo</a>, <a class="el" href="a00263_source.html#l00526">PtiCurrent()</a> , 以及 <a class="el" href="a00365_source.html#l01603">tagDESKTOPINFO::spwnd</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03719_source.html#l00411">_FindWindowEx()</a> , 以及 <a class="el" href="a03719_source.html#l00220">xxxSetParent()</a>.</p>

</div>
</div>
<a id="ab09296c4345d9498a0a634e78912a214"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab09296c4345d9498a0a634e78912a214">&#9670;&nbsp;</a></span>_GetInternalWindowPos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> _GetInternalWindowPos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPRECT&#160;</td>
          <td class="paramname"><em>lprcWin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPPOINT&#160;</td>
          <td class="paramname"><em>lpptMin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00869">869</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;{</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    WINDOWPLACEMENT wp;</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160; </div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    wp.length = <span class="keyword">sizeof</span>(WINDOWPLACEMENT);</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160; </div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    <a class="code" href="a03719.html#ab6acf7cac97512048e6b9a0c786bd93a">_GetWindowPlacement</a>(pwnd, &amp;wp);</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160; </div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="comment">     * if the user is interested in the normal size and position of the</span></div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="comment">     * window, return it in parent client coordinates.</span></div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;    <span class="keywordflow">if</span> (lprcWin) {</div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;        <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(lprcWin, &amp;wp.rcNormalPosition);</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    }</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160; </div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;<span class="comment">     * get him the minimized position as well</span></div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    <span class="keywordflow">if</span> (lpptMin) {</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;        *lpptMin = wp.ptMinPosition;</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;    }</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160; </div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="comment">     * return the state of the window</span></div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;    <span class="keywordflow">return</span> wp.showCmd;</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a03719_source.html#l00551">_GetWindowPlacement()</a> , 以及 <a class="el" href="a00935_source.html#l00391">CopyRect()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l02305">NtUserGetInternalWindowPos()</a>.</p>

</div>
</div>
<a id="ab6acf7cac97512048e6b9a0c786bd93a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6acf7cac97512048e6b9a0c786bd93a">&#9670;&nbsp;</a></span>_GetWindowPlacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL _GetWindowPlacement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PWINDOWPLACEMENT&#160;</td>
          <td class="paramname"><em>pwp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00551">551</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;{</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    <a class="code" href="a02845.html">CHECKPOINT</a> * pcp;</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160; </div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="comment">     * this will set the normal or the minimize point in the checkpoint,</span></div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="comment">     * so that all elements will be up to date.</span></div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    pcp = <a class="code" href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a>(pwnd);</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160; </div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordflow">if</span> (!pcp)</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFMINIMIZED)) {</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        pwp-&gt;showCmd = SW_SHOWMINIMIZED;</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TestWF(pwnd, WFMAXIMIZED)) {</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        pwp-&gt;showCmd = SW_SHOWMAXIMIZED;</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        pwp-&gt;showCmd = SW_SHOWNORMAL;</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    }</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160; </div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;pwp-&gt;rcNormalPosition, &amp;pcp-&gt;<a class="code" href="a02845.html#a52f4f42fa860496686881220968cea87">rcNormal</a>);</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; </div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a>) {</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;        pwp-&gt;ptMinPosition = pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>;</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        pwp-&gt;ptMinPosition.x = pwp-&gt;ptMinPosition.y = -1;</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    }</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160; </div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#ab1313e152ddd6c696ff4aee219da2c91">fMaxInitialized</a>) {</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        pwp-&gt;ptMaxPosition = pcp-&gt;<a class="code" href="a02845.html#a9fe79cc97641b35f6cb5edbb866d7605">ptMax</a>;</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;        pwp-&gt;ptMaxPosition.x = pwp-&gt;ptMaxPosition.y = -1;</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    }</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160; </div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordflow">if</span> ((pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> == PWNDDESKTOP(pwnd)) &amp;&amp;</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;            !TestWF(pwnd, WEFTOOLWINDOW)) {</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160; </div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="comment">         * Convert min, normal, and max positions to be relative to the</span></div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="comment">         * working area</span></div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;        <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a>) {</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;            pwp-&gt;ptMinPosition.x -= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            pwp-&gt;ptMinPosition.y -= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        }</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160; </div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;        <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;pwp-&gt;rcNormalPosition,</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;                   -<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left,</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                   -<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top);</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160; </div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#ab1313e152ddd6c696ff4aee219da2c91">fMaxInitialized</a>) {</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;            pwp-&gt;ptMaxPosition.x -= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;            pwp-&gt;ptMaxPosition.y -= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        }</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    }</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160; </div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    pwp-&gt;flags = 0;</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160; </div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="comment">     * B#3276</span></div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="comment">     * Don&#39;t allow WPF_SETMINPOSITION on top-level windows.</span></div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    <span class="keywordflow">if</span> (TestwndChild(pwnd) &amp;&amp; pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a>)</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;        pwp-&gt;flags |= WPF_SETMINPOSITION;</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#a4be3a5cb34c2367b54a04d69835c2113">fWasMaximizedBeforeMinimized</a> || TestWF(pwnd, WFMAXIMIZED))</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;        pwp-&gt;flags |= WPF_RESTORETOMAXIMIZED;</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160; </div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    pwp-&gt;length = <span class="keyword">sizeof</span>(WINDOWPLACEMENT);</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160; </div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00935_source.html#l00391">CopyRect()</a>, <a class="el" href="a00899_source.html#l01996">tagCHECKPOINT::fDragged</a>, <a class="el" href="a00899_source.html#l02000">tagCHECKPOINT::fMaxInitialized</a>, <a class="el" href="a00899_source.html#l01999">tagCHECKPOINT::fMinInitialized</a>, <a class="el" href="a00899_source.html#l01997">tagCHECKPOINT::fWasMaximizedBeforeMinimized</a>, <a class="el" href="a00020_source.html#l00039">gpsi</a>, <a class="el" href="a00935_source.html#l00132">OffsetRect()</a>, <a class="el" href="a00899_source.html#l01995">tagCHECKPOINT::ptMax</a>, <a class="el" href="a00899_source.html#l01994">tagCHECKPOINT::ptMin</a>, <a class="el" href="a00899_source.html#l01993">tagCHECKPOINT::rcNormal</a>, <a class="el" href="a00365_source.html#l01007">tagSERVERINFO::rcWork</a>, <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a> , 以及 <a class="el" href="a03719_source.html#l00528">UpdateCheckpoint()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03719_source.html#l00869">_GetInternalWindowPos()</a> , 以及 <a class="el" href="a03614_source.html#l02960">NtUserGetWindowPlacement()</a>.</p>

</div>
</div>
<a id="a3f63b25286a002fa0d0d820d8125e16a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f63b25286a002fa0d0d820d8125e16a">&#9670;&nbsp;</a></span>_InternalGetWindowText()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int _InternalGetWindowText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPWSTR&#160;</td>
          <td class="paramname"><em>psz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cchMax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00176">176</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;{</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordflow">if</span> (cchMax) {</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">         * Initialize string empty.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        *psz = TEXT(<span class="charliteral">&#39;\0&#39;</span>);</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keywordflow">if</span> (pwnd-&gt;<a class="code" href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">strName</a>.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a>) {</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="a00365.html#abdca6a2346c0c6e4e7857a9edd89be3f">TextCopy</a>(&amp;pwnd-&gt;<a class="code" href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">strName</a>, psz, (WORD)cchMax);</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        }</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    }</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00365_source.html#l00281">_LARGE_UNICODE_STRING::Length</a>, <a class="el" href="a00365_source.html#l01414">tagWND::strName</a> , 以及 <a class="el" href="a03650_source.html#l00108">TextCopy()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l05455">NtUserInternalGetWindowText()</a>.</p>

</div>
</div>
<a id="a9564af3f5fcba7f5c1a43d4d9096bded"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9564af3f5fcba7f5c1a43d4d9096bded">&#9670;&nbsp;</a></span>CheckPlacementBounds()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">VOID CheckPlacementBounds </td>
          <td>(</td>
          <td class="paramtype">LPRECT&#160;</td>
          <td class="paramname"><em>lprc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPPOINT&#160;</td>
          <td class="paramname"><em>ptMin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPPOINT&#160;</td>
          <td class="paramname"><em>ptMax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00634">634</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;{</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    <span class="keywordtype">int</span> xIcon;</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    <span class="keywordtype">int</span> yIcon;</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <span class="keywordtype">int</span> sTop;</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordtype">int</span> sBottom;</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    <span class="keywordtype">int</span> sLeft;</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    <span class="keywordtype">int</span> sRight;</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160; </div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="comment">     * Check Normal Window Placement</span></div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160; </div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="comment">     * Possible values for these sign variables are :</span></div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="comment">     * -1 : less than the minimum for that dimension</span></div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;<span class="comment">     *  0 : within the range for that dimension</span></div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="comment">     *  1 : more than the maximum for that dimension</span></div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    sTop = (lprc-&gt;top &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top) ? -1 :</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        ((lprc-&gt;top &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom) ? 1 : 0);</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;    sBottom = (lprc-&gt;bottom &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top) ? -1 :</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        ((lprc-&gt;bottom &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom) ? 1 : 0);</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160; </div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    sLeft = (lprc-&gt;left &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left) ? -1 :</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        ((lprc-&gt;left &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right) ? 1 : 0);</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160; </div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    sRight = (lprc-&gt;right &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left) ? -1 :</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;        ((lprc-&gt;right &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right) ? 1 : 0);</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160; </div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <span class="keywordflow">if</span> ((sTop * sBottom &gt; 0) || (sLeft * sRight &gt; 0)) {</div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160; </div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="comment">         * Window is TOTALLY outside desktop bounds;</span></div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="comment">         * slide it FULLY into the desktop at the closest position</span></div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        <span class="keywordtype">int</span> size;</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        <span class="keywordflow">if</span> (sTop &lt; 0) {</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;            lprc-&gt;bottom -= lprc-&gt;top;</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;            lprc-&gt;top     = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sBottom &gt; 0) {</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;            size = lprc-&gt;bottom - lprc-&gt;top;</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;            lprc-&gt;top    = max(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom - size, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top);</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;            lprc-&gt;bottom = lprc-&gt;top + size;</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        }</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160; </div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        <span class="keywordflow">if</span> (sLeft &lt; 0) {</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            lprc-&gt;right -= lprc-&gt;left;</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;            lprc-&gt;left   = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sRight &gt; 0) {</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            size = lprc-&gt;right - lprc-&gt;left;</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;            lprc-&gt;left  = max(<a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right - size, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left);</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;            lprc-&gt;right = lprc-&gt;left + size;</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        }</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    }</div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="comment">     * Check Iconic Window Placement</span></div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordflow">if</span> (ptMin-&gt;x != -1) {</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160; </div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        xIcon = SYSMET(CXMINSPACING);</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        yIcon = SYSMET(CYMINSPACING);</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        sTop = (ptMin-&gt;y &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top) ? -1 :</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            ((ptMin-&gt;y &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom) ? 1 : 0);</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160; </div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;        sBottom = (ptMin-&gt;y + yIcon &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top) ? -1 :</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            ((ptMin-&gt;y + yIcon &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom) ? 1 : 0);</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160; </div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        sLeft = (ptMin-&gt;x &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left) ? -1 :</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;            ((ptMin-&gt;x &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right) ? 1 : 0);</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160; </div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        sRight = (ptMin-&gt;x + xIcon &lt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left) ? -1 :</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;            ((ptMin-&gt;x + xIcon &gt; <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right) ? 1 : 0);</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160; </div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;<span class="comment">         * Icon is TOTALLY outside desktop bounds; repark it.</span></div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;        <span class="keywordflow">if</span> ((sTop * sBottom &gt; 0) || (sLeft * sRight &gt; 0))</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;            ptMin-&gt;x = ptMin-&gt;y = -1;</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    }</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160; </div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="comment">     * Check Maximized Window Placement</span></div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="keywordflow">if</span> ((ptMax-&gt;x != -1) &amp;&amp;</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;        ((ptMax-&gt;x &gt;= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.right) ||</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;         (ptMax-&gt;y &gt;= <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.bottom))) {</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160; </div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="comment">         * window is TOTALLY below beyond maximum dimensions; rezero it</span></div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        ptMax-&gt;x = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;        ptMax-&gt;y = <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    }</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00020_source.html#l00039">gpsi</a> , 以及 <a class="el" href="a00365_source.html#l01007">tagSERVERINFO::rcWork</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03719_source.html#l00744">xxxSetWindowPlacement()</a>.</p>

</div>
</div>
<a id="a52c48f6bdd99bf8fee75d67f1b1b4d01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52c48f6bdd99bf8fee75d67f1b1b4d01">&#9670;&nbsp;</a></span>TestWindowProcess()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL TestWindowProcess </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l01010">1010</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    <span class="keywordflow">return</span> (PpiCurrent() == GETPTI(pwnd)-&gt;ppi);</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00293_source.html#l00128">GETPROCESSID</a>, <a class="el" href="a00293_source.html#l00125">GetWindowProcess</a> , 以及 <a class="el" href="a00263_source.html#l00526">PtiCurrent()</a>.</p>

</div>
</div>
<a id="a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">&#9670;&nbsp;</a></span>UpdateCheckpoint()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00899.html#ad630942f849e878d598c472f66720d55">PCHECKPOINT</a> UpdateCheckpoint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00528">528</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;{</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    RECT rc;</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; </div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="comment">     * ChkptRestore expects a rect in parent client coords</span></div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <a class="code" href="a00365.html#ac638a1ce39dd10773c0133549503776e">CopyOffsetRect</a>(&amp;rc,</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;                   &amp;pwnd-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>,</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;                   -pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a>-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>.left,</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;                   -pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a>-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>.top);</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00800.html#a744f5e7f42c0af97a305664666d9f0c7">CkptRestore</a>(pwnd, rc);</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00800_source.html#l00299">CkptRestore()</a>, <a class="el" href="a00935_source.html#l00067">CopyOffsetRect()</a>, <a class="el" href="a00365_source.html#l01399">tagWND::rcClient</a>, <a class="el" href="a00365_source.html#l01398">tagWND::rcWindow</a> , 以及 <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03719_source.html#l00551">_GetWindowPlacement()</a>, <a class="el" href="a03719_source.html#l00911">xxxSetInternalWindowPos()</a> , 以及 <a class="el" href="a03719_source.html#l00744">xxxSetWindowPlacement()</a>.</p>

</div>
</div>
<a id="ac36cfede9f8f282d7abf1756d093b1bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac36cfede9f8f282d7abf1756d093b1bb">&#9670;&nbsp;</a></span>xxxDoSend()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LONG xxxDoSend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>&#160;</td>
          <td class="paramname"><em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>&#160;</td>
          <td class="paramname"><em>wParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LONG&#160;</td>
          <td class="paramname"><em>lParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00112">112</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">     * We compare PROCESSINFO sturctures here so multi-threaded</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">     * app can do what the want.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordflow">if</span> (GETPTI(pwnd)-&gt;ppi == <a class="code" href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a>()-&gt;ppi) {</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00842.html#a69cf2e14dcefd941469ad5126e40f79a">xxxSendMessage</a>(pwnd, message, wParam, lParam);</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00671.html#af0a7cefc146c51b12208e692b0f67960">xxxDefWindowProc</a>(pwnd, message, wParam, lParam);</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    }</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00263_source.html#l00526">PtiCurrent()</a>, <a class="el" href="a00671_source.html#l01146">xxxDefWindowProc()</a> , 以及 <a class="el" href="a00842_source.html#l00613">xxxSendMessage()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03719_source.html#l00137">xxxGetWindowText()</a>.</p>

</div>
</div>
<a id="a7ec097461fd97f7c417658ef2a5b1ba6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ec097461fd97f7c417658ef2a5b1ba6">&#9670;&nbsp;</a></span>xxxEnableWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL xxxEnableWindow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BOOL&#160;</td>
          <td class="paramname"><em>fEnable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00069">69</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    BOOL fOldState, fChange;</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    fOldState = TestWF(pwnd, WFDISABLED);</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">if</span> (!fEnable) {</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        fChange = !TestWF(pwnd, WFDISABLED);</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <a class="code" href="a00842.html#a69cf2e14dcefd941469ad5126e40f79a">xxxSendMessage</a>(pwnd, WM_CANCELMODE, 0, 0);</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keywordflow">if</span> (pwnd == <a class="code" href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a>()-&gt;pq-&gt;spwndFocus) {</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                <a class="code" href="a00686.html#a6743675eb26ad31f8f7e28732d6e7938">xxxSetFocus</a>(NULL);</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        }</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        SetWF(pwnd, WFDISABLED);</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        fChange = TestWF(pwnd, WFDISABLED);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        ClrWF(pwnd, WFDISABLED);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    }</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">if</span> (fChange) {</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <a class="code" href="a00842.html#a69cf2e14dcefd941469ad5126e40f79a">xxxSendMessage</a>(pwnd, WM_ENABLE, fEnable, 0L);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    }</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">return</span> fOldState;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a00263_source.html#l00526">PtiCurrent()</a>, <a class="el" href="a00842_source.html#l00613">xxxSendMessage()</a> , 以及 <a class="el" href="a00686_source.html#l01450">xxxSetFocus()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a00833_source.html#l00239">xxxEnableScrollBar()</a>.</p>

</div>
</div>
<a id="ac4eb6e458aa2e77855b2ed1578b1b691"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4eb6e458aa2e77855b2ed1578b1b691">&#9670;&nbsp;</a></span>xxxFlashWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL xxxFlashWindow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BOOL&#160;</td>
          <td class="paramname"><em>fFlash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00025">25</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    BOOL fStatePrev;</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    BOOL fNewFlash;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    fStatePrev = TestWF(pwnd, WFFRAMEON);</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keywordflow">if</span> (pwnd != GETPTI(pwnd)-&gt;pq-&gt;spwndAltTab) {</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordflow">if</span> (fFlash) {</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;            fNewFlash =  !fStatePrev;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="a03257.html#a01d6b23c241a057b5e276bc3095a01eb">gpqForeground</a>) {</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;               fNewFlash = (<a class="code" href="a03257.html#a01d6b23c241a057b5e276bc3095a01eb">gpqForeground</a>-&gt;<a class="code" href="a02869.html#a00f55b93fb49e91ab92e90fde747d716">spwndActive</a> == pwnd);</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;               fNewFlash = FALSE;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            }</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        }</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <a class="code" href="a00842.html#a69cf2e14dcefd941469ad5126e40f79a">xxxSendMessage</a>(pwnd, WM_NCACTIVATE, fNewFlash, 0L);</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a00899.html#a0667a88c1c1553b0c9796ab56bacf3ba">IsTrayWindow</a>(pwnd))</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        {</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;            HWND hw = HWq(pwnd);</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;            <span class="keywordflow">if</span> (!fFlash)</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                fNewFlash = FALSE;</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;            <a class="code" href="a00701.html#a4a596c02b66f7f049c18711b882e0b89">xxxCallHook</a>(HSHELL_REDRAW, (WPARAM) hw, (LPARAM) fNewFlash, WH_SHELL);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;            <a class="code" href="a00827.html#a915a9a84da7da3fc6d8f5bb6181e98c8">PostShellHookMessages</a>(fNewFlash? HSHELL_FLASH:HSHELL_REDRAW, hw);</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        }</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    }</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">return</span> fStatePrev;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a03257_source.html#l00133">gpqForeground</a>, <a class="el" href="a00911_source.html#l00059">IsTrayWindow()</a>, <a class="el" href="a00827_source.html#l02793">PostShellHookMessages()</a>, <a class="el" href="a00899_source.html#l02168">tagQ::spwndActive</a>, <a class="el" href="a00701_source.html#l00954">xxxCallHook()</a> , 以及 <a class="el" href="a00842_source.html#l00613">xxxSendMessage()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a00599_source.html#l02424">_UserSoundSentryWorker()</a> , 以及 <a class="el" href="a00599_source.html#l02385">SoundSentryTimer()</a>.</p>

</div>
</div>
<a id="a966ff3b0314d5b7f25d03ccf40ebaa10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a966ff3b0314d5b7f25d03ccf40ebaa10">&#9670;&nbsp;</a></span>xxxGetWindowText()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int xxxGetWindowText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPTSTR&#160;</td>
          <td class="paramname"><em>psz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cchMax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00137">137</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="a02457.html">LARGE_UNICODE_STRING</a> str;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> nRet, nLen;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span> (cchMax) {</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">         * Initialize string empty, in case xxxSendMessage aborts validation</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">         * If a bogus value was returned, rely on str.Length</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        str.<a class="code" href="a02457.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a>         = FALSE;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        str.<a class="code" href="a02457.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = cchMax * <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        str.<a class="code" href="a02457.html#a99314e2f6ea6b552b9538bbe7b7e64ba">Buffer</a>        = psz;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        str.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a>        = 0;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        *psz = TEXT(<span class="charliteral">&#39;\0&#39;</span>);</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        nRet = <a class="code" href="a03719.html#ac36cfede9f8f282d7abf1756d093b1bb">xxxDoSend</a>(pwnd, WM_GETTEXT, cchMax, (LONG)&amp;str);</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        nLen = str.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> / <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordflow">return</span> (nRet &gt; nLen) ? nLen : nRet;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    }</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00365_source.html#l00283">_LARGE_UNICODE_STRING::bAnsi</a>, <a class="el" href="a00365_source.html#l00284">_LARGE_UNICODE_STRING::Buffer</a>, <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a00365_source.html#l00281">_LARGE_UNICODE_STRING::Length</a>, <a class="el" href="a00365_source.html#l00282">_LARGE_UNICODE_STRING::MaximumLength</a>, <a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT()</a> , 以及 <a class="el" href="a03719_source.html#l00112">xxxDoSend()</a>.</p>

</div>
</div>
<a id="a0757ec38bbb60069882d782dbb933221"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0757ec38bbb60069882d782dbb933221">&#9670;&nbsp;</a></span>xxxSetInternalWindowPos()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL xxxSetInternalWindowPos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>&#160;</td>
          <td class="paramname"><em>cmdShow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPRECT&#160;</td>
          <td class="paramname"><em>lprcWin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LPPOINT&#160;</td>
          <td class="paramname"><em>lpptMin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00911">911</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;{</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <a class="code" href="a02845.html">CHECKPOINT</a> *pcp;</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160; </div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160; </div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;    <span class="keywordflow">if</span> ((pcp = <a class="code" href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a>(pwnd)) == NULL) {</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;    }</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160; </div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="keywordflow">if</span> (lprcWin) {</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160; </div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a52f4f42fa860496686881220968cea87">rcNormal</a> = *lprcWin;</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160; </div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <span class="keywordflow">if</span> (pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> == PWNDDESKTOP(pwnd)) {</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;            <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;pcp-&gt;<a class="code" href="a02845.html#a52f4f42fa860496686881220968cea87">rcNormal</a>, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top);</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        }</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;    }</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160; </div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    <span class="keywordflow">if</span> (lpptMin &amp;&amp; (lpptMin-&gt;x != -1)) {</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160; </div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a> = *lpptMin;</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        <span class="keywordflow">if</span> (pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> == PWNDDESKTOP(pwnd)) {</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;            pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>.x += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;            pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>.y += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;        }</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160; </div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a> = TRUE;</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a> = TRUE;</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160; </div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a> = FALSE;</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a> = FALSE;</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    }</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160; </div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFMINIMIZED)) {</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; </div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="comment">         * need to move the icon</span></div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a>) {</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;            <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd,</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;                            PWND_TOP,</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;                            pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>.x,</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                            pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>.y,</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;                            0,</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;                            0,</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                            SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;        }</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160; </div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!TestWF(pwnd, WFMAXIMIZED) &amp;&amp; lprcWin) {</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;<span class="comment">         * need to set the size and the position</span></div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;        <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd,</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;                        NULL,</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;                        lprcWin-&gt;left,</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;                        lprcWin-&gt;top,</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;                        lprcWin-&gt;right - lprcWin-&gt;left,</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;                        lprcWin-&gt;bottom - lprcWin-&gt;top,</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                        SWP_NOZORDER);</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;    }</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160; </div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    <a class="code" href="a00851.html#ae82e6ab5253cf5a51f5e270f6b83ccb7">xxxShowWindow</a>(pwnd, MAKELONG(cmdShow, <a class="code" href="a03257.html#a3f749009e2dddfbcdd946cdc60859d5d">gfAnimate</a>));</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160; </div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a00899_source.html#l01996">tagCHECKPOINT::fDragged</a>, <a class="el" href="a00899_source.html#l01999">tagCHECKPOINT::fMinInitialized</a>, <a class="el" href="a03257_source.html#l00019">gfAnimate</a>, <a class="el" href="a00020_source.html#l00039">gpsi</a>, <a class="el" href="a00935_source.html#l00132">OffsetRect()</a>, <a class="el" href="a00899_source.html#l01994">tagCHECKPOINT::ptMin</a>, <a class="el" href="a00899_source.html#l01993">tagCHECKPOINT::rcNormal</a>, <a class="el" href="a00365_source.html#l01007">tagSERVERINFO::rcWork</a>, <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a>, <a class="el" href="a03719_source.html#l00528">UpdateCheckpoint()</a>, <a class="el" href="a00872_source.html#l01169">xxxSetWindowPos()</a> , 以及 <a class="el" href="a00851_source.html#l00081">xxxShowWindow()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l02581">NtUserSetInternalWindowPos()</a>.</p>

</div>
</div>
<a id="aa1cf014eb02c4e3036e4865fed2fbe33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1cf014eb02c4e3036e4865fed2fbe33">&#9670;&nbsp;</a></span>xxxSetParent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a> xxxSetParent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwndNewParent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00220">220</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;{</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <span class="keywordtype">int</span>   x;</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keywordtype">int</span>   y;</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    BOOL  fVisible;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <a class="code" href="a02581.html">PWND</a>  pwndOldParent;</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <a class="code" href="a01881.html">TL</a>    tlpwndOldParent;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <a class="code" href="a01881.html">TL</a>    tlpwndNewParent;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    PVOID pvRet;</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <a class="code" href="a02581.html">PWND</a>  pwndDesktop;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <a class="code" href="a02581.html">PWND</a>  pwndT;</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndNewParent);</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    pwndDesktop = PWNDDESKTOP(pwnd);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment">     * In 1.0x, an app&#39;s parent was null, but now it is pwndDesktop.</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">     * Need to remember to lock pwndNewParent because we&#39;re reassigning</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">     * it here.</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordflow">if</span> (pwndNewParent == NULL)</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        pwndNewParent = pwndDesktop;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">     * Don&#39;t ever change the parent of the desktop.</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordflow">if</span> (pwnd == pwndDesktop) {</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_ACCESS_DENIED,</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;                <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;                <span class="stringliteral">&quot;Access denied: can&#39;t change parent of the desktop&quot;</span>);</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    }</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="comment">     * Don&#39;t let the window become its own parent, grandparent, etc.</span></div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">for</span> (pwndT = pwndNewParent; pwndT != NULL; pwndT = pwndT-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a>) {</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordflow">if</span> (pwnd == pwndT) {</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;            <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                  <span class="stringliteral">&quot;Attempting to creating a parent-child relationship loop&quot;</span>);</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        }</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    }</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="comment">     * We still need pwndNewParent across callbacks...  and even though</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="comment">     * it was passed in, it may have been reassigned above.</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndNewParent, &amp;tlpwndNewParent);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="comment">     * Make the thing disappear from original parent.</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    fVisible = <a class="code" href="a00851.html#ae82e6ab5253cf5a51f5e270f6b83ccb7">xxxShowWindow</a>(pwnd, MAKELONG(SW_HIDE, <a class="code" href="a03257.html#a3f749009e2dddfbcdd946cdc60859d5d">gfAnimate</a>));</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="comment">     * Ensure that the window being changed and the new parent</span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="comment">     * are not in a destroyed state.</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="comment">     * IMPORTANT: After this check, do not leave the critical section</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="comment">     * until the window links have been rearranged.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFDESTROYED) || TestWF(pwndNewParent, WFDESTROYED)) {</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        ThreadUnlock(&amp;tlpwndNewParent);</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    }</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    pwndOldParent = pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a>;</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndOldParent, &amp;tlpwndOldParent);</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    x = pwnd-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>.left - pwndOldParent-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>.left;</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    y = pwnd-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>.top - pwndOldParent-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>.top;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <a class="code" href="a00635.html#af8b8457a3a65d2d8b9bc7f343a8507bc">UnlinkWindow</a>(pwnd, &amp;pwndOldParent-&gt;<a class="code" href="a02581.html#a6171c9000ea2060597a9bcf498ee0316">spwndChild</a>);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    Lock(&amp;pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a>, pwndNewParent);</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; </div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordflow">if</span> (pwndNewParent == PWNDDESKTOP(pwnd) &amp;&amp; !TestWF(pwnd, WEFTOPMOST)) {</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="comment">         * Make sure a child who&#39;s owner is topmost inherits the topmost</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="comment">         * bit. - win31 bug 7568</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwnd, WFCHILD) &amp;&amp;</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;            (pwnd-&gt;<a class="code" href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">spwndOwner</a>) &amp;&amp;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            TestWF(pwnd-&gt;<a class="code" href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">spwndOwner</a>, WEFTOPMOST)) {</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;            SetWF(pwnd, WEFTOPMOST);</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        }</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="comment">         * BACKWARD COMPATIBILITY HACK ALERT</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="comment">         *</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">         * All top level windows must be WS_CLIPSIBLINGs bit set.</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">         * The SDM ComboBox() code calls SetParent() with a listbox</span></div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">         * window that does not have this set.  This causes problems</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="comment">         * with InternalInvalidate2() because it does not subtract off</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="comment">         * the window from the desktop&#39;s update region.</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="comment">         *</span></div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="comment">         * We must invalidate the DC cache here, too, because if there is</span></div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="comment">         * a cache entry lying around, its clipping region will be incorrect.</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <span class="keywordflow">if</span> ((pwndNewParent == <a class="code" href="a03719.html#a1f4972bedfb6481f3116706ba83a70d1">_GetDesktopWindow</a>()) &amp;&amp;</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;            !TestWF(pwnd, WFCLIPSIBLINGS)) {</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            SetWF(pwnd, WFCLIPSIBLINGS);</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;            <a class="code" href="a00644.html#a69728f013275d0f4332dded4eb2432a3">InvalidateDCCache</a>(pwnd, IDC_DEFAULT);</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        }</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="comment">         * This is a top level window but it isn&#39;t a topmost window so we</span></div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="comment">         * have to link it below all topmost windows.</span></div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <a class="code" href="a00635.html#ad1908c0de0a6ebffae68b4933bcf185a">LinkWindow</a>(pwnd,</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;                   <a class="code" href="a00872.html#a641f4e16c75a445b125667f001e07535">CalcForegroundInsertAfter</a>(pwnd),</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;                   &amp;pwndNewParent-&gt;<a class="code" href="a02581.html#a6171c9000ea2060597a9bcf498ee0316">spwndChild</a>);</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160; </div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="comment">         * If this is a child window or if this is a TOPMOST window, we can</span></div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="comment">         * link at the head of the parent chain.</span></div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <a class="code" href="a00635.html#ad1908c0de0a6ebffae68b4933bcf185a">LinkWindow</a>(pwnd, NULL, &amp;pwndNewParent-&gt;<a class="code" href="a02581.html#a6171c9000ea2060597a9bcf498ee0316">spwndChild</a>);</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    }</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="comment">     * If we&#39;re a child window, do any necessary attaching and</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="comment">     * detaching.</span></div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordflow">if</span> (TestwndChild(pwnd)) {</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="comment">         * Make sure we&#39;re not a WFCHILD window that got SetParent()&#39;ed</span></div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="comment">         * to the desktop.</span></div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordflow">if</span> ((pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> != PWNDDESKTOP(pwnd)) &amp;&amp;</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            GETPTI(pwnd) != GETPTI(pwndOldParent)) {</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;            <a class="code" href="a03290.html#a9eb8f3351ef77ddcac4a4f2a7375a1a2">_AttachThreadInput</a>(GETPTI(pwnd), GETPTI(pwndOldParent), FALSE);</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        }</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160; </div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="comment">         * If the new parent window is on a different thread, and also</span></div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="comment">         * isn&#39;t the desktop window, attach ourselves appropriately.</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <span class="keywordflow">if</span> (pwndNewParent != PWNDDESKTOP(pwnd) &amp;&amp;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            GETPTI(pwnd) != GETPTI(pwndNewParent)) {</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160; </div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;            <a class="code" href="a03290.html#a9eb8f3351ef77ddcac4a4f2a7375a1a2">_AttachThreadInput</a>(GETPTI(pwnd), GETPTI(pwndNewParent), TRUE);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        }</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    }</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="comment">     * We mustn&#39;t return an invalid pwndOldParent</span></div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd, NULL, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <span class="keywordflow">if</span> (fVisible)</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <a class="code" href="a00851.html#ae82e6ab5253cf5a51f5e270f6b83ccb7">xxxShowWindow</a>(pwnd, MAKELONG(SW_SHOWNORMAL, <a class="code" href="a03257.html#a3f749009e2dddfbcdd946cdc60859d5d">gfAnimate</a>));</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="comment">     * returns pwndOldParent if still valid, else NULL.</span></div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    pvRet = ThreadUnlock(&amp;tlpwndOldParent);</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    ThreadUnlock(&amp;tlpwndNewParent);</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    <span class="keywordflow">return</span> pvRet;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a03290_source.html#l05871">_AttachThreadInput()</a>, <a class="el" href="a03719_source.html#l00990">_GetDesktopWindow()</a>, <a class="el" href="a00872_source.html#l02994">CalcForegroundInsertAfter()</a>, <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a03257_source.html#l00019">gfAnimate</a>, <a class="el" href="a00644_source.html#l01644">InvalidateDCCache()</a>, <a class="el" href="a00635_source.html#l01198">LinkWindow()</a>, <a class="el" href="a00365_source.html#l01399">tagWND::rcClient</a>, <a class="el" href="a00365_source.html#l01398">tagWND::rcWindow</a>, <a class="el" href="a00371_source.html#l00029">RIP_WARNING</a>, <a class="el" href="a00371_source.html#l00119">RIPERR0</a>, <a class="el" href="a00365_source.html#l01393">tagWND::spwndChild</a>, <a class="el" href="a00365_source.html#l01394">tagWND::spwndOwner</a>, <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a>, <a class="el" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock()</a>, <a class="el" href="a00635_source.html#l02439">UnlinkWindow()</a>, <a class="el" href="a00872_source.html#l01169">xxxSetWindowPos()</a> , 以及 <a class="el" href="a00851_source.html#l00081">xxxShowWindow()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l04647">NtUserSetParent()</a> , 以及 <a class="el" href="a03242_source.html#l00392">xxxSetWindowData()</a>.</p>

</div>
</div>
<a id="a09a7158e05f9a7e9a4caebb281bb5844"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09a7158e05f9a7e9a4caebb281bb5844">&#9670;&nbsp;</a></span>xxxSetWindowPlacement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL xxxSetWindowPlacement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00365.html#a1a2ef1c363aa0787a8f8a7dde2a34aaf">PWND</a>&#160;</td>
          <td class="paramname"><em>pwnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PWINDOWPLACEMENT&#160;</td>
          <td class="paramname"><em>pwp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="a03719_source.html">kernel/winmgr.c</a> 第 <a class="el" href="a03719_source.html#l00744">744</a> 行定义.</p>
<div class="fragment"><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;{</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    <a class="code" href="a02845.html">CHECKPOINT</a> *pcp;</div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    RECT       rc;</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;    POINT      ptMin;</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;    POINT      ptMax;</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    BOOL       fMin;</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    BOOL       fMax;</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160; </div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160; </div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;rc, &amp;pwp-&gt;rcNormalPosition);</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160; </div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    ptMin = pwp-&gt;ptMinPosition;</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    fMin  = ((ptMin.x != -1) &amp;&amp; (ptMin.y != -1));</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160; </div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    ptMax = pwp-&gt;ptMaxPosition;</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    fMax  = ((ptMax.x != -1) &amp;&amp; (ptMax.y != -1));</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160; </div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="comment">     * Convert back to working rectangle coordinates</span></div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    <span class="keywordflow">if</span> ((pwnd-&gt;<a class="code" href="a02581.html#a6053af0b243b6737640988eb63081de3">spwndParent</a> == PWNDDESKTOP(pwnd)) &amp;&amp;</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;            !TestWF(pwnd, WEFTOOLWINDOW)) {</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160; </div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;rc, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left, <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top);</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160; </div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        <span class="keywordflow">if</span> (fMin) {</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;            ptMin.x += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;            ptMin.y += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        }</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160; </div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;        <span class="keywordflow">if</span> (fMax) {</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;            ptMax.x += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.left;</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;            ptMax.y += <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">rcWork</a>.top;</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        }</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160; </div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        <a class="code" href="a03719.html#a9564af3f5fcba7f5c1a43d4d9096bded">CheckPlacementBounds</a>(&amp;rc, &amp;ptMin, &amp;ptMax);</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    }</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160; </div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordflow">if</span> (pcp = <a class="code" href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a>(pwnd)) {</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160; </div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="comment">         * Save settings in the checkpoint struct</span></div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;        <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;pcp-&gt;<a class="code" href="a02845.html#a52f4f42fa860496686881220968cea87">rcNormal</a>, &amp;rc);</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160; </div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">ptMin</a>                        = ptMin;</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">fMinInitialized</a>              = fMin;</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a>                     = (pwp-&gt;flags &amp; WPF_SETMINPOSITION) ?</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;                                                TRUE : FALSE;</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a9fe79cc97641b35f6cb5edbb866d7605">ptMax</a>                        = ptMax;</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#ab1313e152ddd6c696ff4aee219da2c91">fMaxInitialized</a>              = fMax;</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;        pcp-&gt;<a class="code" href="a02845.html#a4be3a5cb34c2367b54a04d69835c2113">fWasMaximizedBeforeMinimized</a> = FALSE;</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;    }</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160; </div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFMINIMIZED)) {</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160; </div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        <span class="keywordflow">if</span> ((!pcp || pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a>) &amp;&amp; fMin) {</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd,</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;                            PWND_TOP,</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                            ptMin.x,</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                            ptMin.y,</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;                            0,</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;                            0,</div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;                            SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        }</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160; </div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (TestWF(pwnd, WFMAXIMIZED)) {</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160; </div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        <span class="keywordflow">if</span> (pcp-&gt;<a class="code" href="a02845.html#ab1313e152ddd6c696ff4aee219da2c91">fMaxInitialized</a>) {</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;            <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd,</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;                            PWND_TOP,</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;                            ptMax.x,</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;                            ptMax.y,</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;                            0,</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;                            0,</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;                            SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;        }</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160; </div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160; </div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <a class="code" href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a>(pwnd,</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;                        PWND_TOP,</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;                        rc.left,</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;                        rc.top,</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                        rc.right - rc.left,</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                        rc.bottom - rc.top,</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                        SWP_NOZORDER | SWP_NOACTIVATE);</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    }</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160; </div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    <a class="code" href="a00851.html#ae82e6ab5253cf5a51f5e270f6b83ccb7">xxxShowWindow</a>(pwnd, MAKELONG(pwp-&gt;showCmd, <a class="code" href="a03257.html#a3f749009e2dddfbcdd946cdc60859d5d">gfAnimate</a>));</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFMINIMIZED)) {</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        <span class="keywordflow">if</span> (pcp = <a class="code" href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a>(pwnd)) {</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160; </div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;<span class="comment">             * Save settings in the checkpoint struct</span></div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;            <span class="keywordflow">if</span> (pwp-&gt;flags &amp; WPF_SETMINPOSITION)</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;                pcp-&gt;<a class="code" href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">fDragged</a> = TRUE;</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160; </div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;            <span class="keywordflow">if</span> (pwp-&gt;flags &amp; WPF_RESTORETOMAXIMIZED) {</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;                pcp-&gt;<a class="code" href="a02845.html#a4be3a5cb34c2367b54a04d69835c2113">fWasMaximizedBeforeMinimized</a> = TRUE;</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                pcp-&gt;<a class="code" href="a02845.html#a4be3a5cb34c2367b54a04d69835c2113">fWasMaximizedBeforeMinimized</a> = FALSE;</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;            }</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        }</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    }</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160; </div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">引用了 <a class="el" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock()</a>, <a class="el" href="a03719_source.html#l00634">CheckPlacementBounds()</a>, <a class="el" href="a00935_source.html#l00391">CopyRect()</a>, <a class="el" href="a00899_source.html#l01996">tagCHECKPOINT::fDragged</a>, <a class="el" href="a00899_source.html#l02000">tagCHECKPOINT::fMaxInitialized</a>, <a class="el" href="a00899_source.html#l01999">tagCHECKPOINT::fMinInitialized</a>, <a class="el" href="a00899_source.html#l01997">tagCHECKPOINT::fWasMaximizedBeforeMinimized</a>, <a class="el" href="a03257_source.html#l00019">gfAnimate</a>, <a class="el" href="a00020_source.html#l00039">gpsi</a>, <a class="el" href="a00935_source.html#l00132">OffsetRect()</a>, <a class="el" href="a00899_source.html#l01995">tagCHECKPOINT::ptMax</a>, <a class="el" href="a00899_source.html#l01994">tagCHECKPOINT::ptMin</a>, <a class="el" href="a00899_source.html#l01993">tagCHECKPOINT::rcNormal</a>, <a class="el" href="a00365_source.html#l01007">tagSERVERINFO::rcWork</a>, <a class="el" href="a00365_source.html#l01392">tagWND::spwndParent</a>, <a class="el" href="a03719_source.html#l00528">UpdateCheckpoint()</a>, <a class="el" href="a00872_source.html#l01169">xxxSetWindowPos()</a> , 以及 <a class="el" href="a00851_source.html#l00081">xxxShowWindow()</a>.</p>

<p class="reference">被这些函数引用 <a class="el" href="a03614_source.html#l02987">NtUserSetWindowPlacement()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aa00899_html_a0667a88c1c1553b0c9796ab56bacf3ba"><div class="ttname"><a href="a00899.html#a0667a88c1c1553b0c9796ab56bacf3ba">IsTrayWindow</a></div><div class="ttdeci">BOOL IsTrayWindow(PWND)</div><div class="ttdef"><b>Definition:</b> <a href="a00911_source.html#l00059">winloop2.c:59</a></div></div>
<div class="ttc" id="aa00371_html_a01c4659626880ba56745765a3580a36b"><div class="ttname"><a href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a></div><div class="ttdeci">#define RIPMSG0(flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00131">winerrp.h:131</a></div></div>
<div class="ttc" id="aa02845_html_a4be3a5cb34c2367b54a04d69835c2113"><div class="ttname"><a href="a02845.html#a4be3a5cb34c2367b54a04d69835c2113">tagCHECKPOINT::fWasMaximizedBeforeMinimized</a></div><div class="ttdeci">int fWasMaximizedBeforeMinimized</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01997">userk.h:1997</a></div></div>
<div class="ttc" id="aa02581_html_a9e4b9545017c505ebd9b8808bd470ab9"><div class="ttname"><a href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">tagWND::spwndOwner</a></div><div class="ttdeci">struct tagWND * spwndOwner</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01394">user.h:1394</a></div></div>
<div class="ttc" id="aa00644_html_a69728f013275d0f4332dded4eb2432a3"><div class="ttname"><a href="a00644.html#a69728f013275d0f4332dded4eb2432a3">InvalidateDCCache</a></div><div class="ttdeci">BOOL InvalidateDCCache(PWND pwndInvalid, DWORD flags)</div><div class="ttdef"><b>Definition:</b> <a href="a00644_source.html#l01644">dc.c:1644</a></div></div>
<div class="ttc" id="aa02581_html_a9ac6b15978318e3401ef9a878ccb40ac"><div class="ttname"><a href="a02581.html#a9ac6b15978318e3401ef9a878ccb40ac">tagWND::pcls</a></div><div class="ttdeci">PCLS pcls</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01403">user.h:1403</a></div></div>
<div class="ttc" id="aa02845_html_a0d617a45565b9d1b31a97f2f0c1882c8"><div class="ttname"><a href="a02845.html#a0d617a45565b9d1b31a97f2f0c1882c8">tagCHECKPOINT::ptMin</a></div><div class="ttdeci">POINT ptMin</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01994">userk.h:1994</a></div></div>
<div class="ttc" id="aa00671_html_af0a7cefc146c51b12208e692b0f67960"><div class="ttname"><a href="a00671.html#af0a7cefc146c51b12208e692b0f67960">xxxDefWindowProc</a></div><div class="ttdeci">LONG xxxDefWindowProc(PWND pwnd, UINT message, DWORD wParam, LONG lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00671_source.html#l01146">dwp.c:1146</a></div></div>
<div class="ttc" id="aa00827_html_a915a9a84da7da3fc6d8f5bb6181e98c8"><div class="ttname"><a href="a00827.html#a915a9a84da7da3fc6d8f5bb6181e98c8">PostShellHookMessages</a></div><div class="ttdeci">void PostShellHookMessages(UINT message, HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00827_source.html#l02793">rare.c:2793</a></div></div>
<div class="ttc" id="aa00872_html_a641f4e16c75a445b125667f001e07535"><div class="ttname"><a href="a00872.html#a641f4e16c75a445b125667f001e07535">CalcForegroundInsertAfter</a></div><div class="ttdeci">PWND CalcForegroundInsertAfter(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00872_source.html#l02994">swp.c:2994</a></div></div>
<div class="ttc" id="aa00020_html_aa6a72bcda08bb85cd8c46b2980008ae6"><div class="ttname"><a href="a00020.html#aa6a72bcda08bb85cd8c46b2980008ae6">szNull</a></div><div class="ttdeci">WCHAR szNull[2]</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00051">clglobal.c:51</a></div></div>
<div class="ttc" id="aa00686_html_a6743675eb26ad31f8f7e28732d6e7938"><div class="ttname"><a href="a00686.html#a6743675eb26ad31f8f7e28732d6e7938">xxxSetFocus</a></div><div class="ttdeci">PWND xxxSetFocus(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00686_source.html#l01450">focusact.c:1450</a></div></div>
<div class="ttc" id="aa00842_html_a69cf2e14dcefd941469ad5126e40f79a"><div class="ttname"><a href="a00842.html#a69cf2e14dcefd941469ad5126e40f79a">xxxSendMessage</a></div><div class="ttdeci">LONG xxxSendMessage(PWND pwnd, UINT message, DWORD wParam, LONG lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00842_source.html#l00613">sendmsg.c:613</a></div></div>
<div class="ttc" id="aa00257_html_a8315d2c807ba18ba9e528c40614b6173"><div class="ttname"><a href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a></div><div class="ttdeci">PTHREADINFO PtiCurrent(VOID)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00526">winmgrc.c:526</a></div></div>
<div class="ttc" id="aa00800_html_a744f5e7f42c0af97a305664666d9f0c7"><div class="ttname"><a href="a00800.html#a744f5e7f42c0af97a305664666d9f0c7">CkptRestore</a></div><div class="ttdeci">PCHECKPOINT CkptRestore(PWND pwnd, RECT rcWindow)</div><div class="ttdef"><b>Definition:</b> <a href="a00800_source.html#l00299">movesize.c:299</a></div></div>
<div class="ttc" id="aa02581_html_a5242d6e2f6cd000e8a85dcd824104ec4"><div class="ttname"><a href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">tagWND::strName</a></div><div class="ttdeci">LARGE_UNICODE_STRING strName</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01414">user.h:1414</a></div></div>
<div class="ttc" id="aa00635_html_af8b8457a3a65d2d8b9bc7f343a8507bc"><div class="ttname"><a href="a00635.html#af8b8457a3a65d2d8b9bc7f343a8507bc">UnlinkWindow</a></div><div class="ttdeci">VOID UnlinkWindow(PWND pwndUnlink, PWND *ppwndFirst)</div><div class="ttdef"><b>Definition:</b> <a href="a00635_source.html#l02439">createw.c:2439</a></div></div>
<div class="ttc" id="aa02457_html_af4ab07640de8950ca1f439bb34be4b53"><div class="ttname"><a href="a02457.html#af4ab07640de8950ca1f439bb34be4b53">_LARGE_UNICODE_STRING::bAnsi</a></div><div class="ttdeci">ULONG bAnsi</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00283">user.h:283</a></div></div>
<div class="ttc" id="aa03719_html_a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0"><div class="ttname"><a href="a03719.html#a8a12d0d9b9b1cbaa1cb0a8dbe3e21bf0">UpdateCheckpoint</a></div><div class="ttdeci">PCHECKPOINT UpdateCheckpoint(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03719_source.html#l00528">kernel/winmgr.c:528</a></div></div>
<div class="ttc" id="aa02581_html_af729b7de7a8fb84b70b70c4b401ce789"><div class="ttname"><a href="a02581.html#af729b7de7a8fb84b70b70c4b401ce789">tagWND::spwndNext</a></div><div class="ttdeci">struct tagWND * spwndNext</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01391">user.h:1391</a></div></div>
<div class="ttc" id="aa00674_html_ac42b3a26d86746846b51a69d11fc0797"><div class="ttname"><a href="a00674.html#ac42b3a26d86746846b51a69d11fc0797">FreeHwndList</a></div><div class="ttdeci">void FreeHwndList(PBWL pbwl)</div><div class="ttdef"><b>Definition:</b> <a href="a00674_source.html#l00340">enumwin.c:340</a></div></div>
<div class="ttc" id="aa03719_html_a9564af3f5fcba7f5c1a43d4d9096bded"><div class="ttname"><a href="a03719.html#a9564af3f5fcba7f5c1a43d4d9096bded">CheckPlacementBounds</a></div><div class="ttdeci">VOID CheckPlacementBounds(LPRECT lprc, LPPOINT ptMin, LPPOINT ptMax)</div><div class="ttdef"><b>Definition:</b> <a href="a03719_source.html#l00634">kernel/winmgr.c:634</a></div></div>
<div class="ttc" id="aa02845_html"><div class="ttname"><a href="a02845.html">tagCHECKPOINT</a></div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01992">userk.h:1992</a></div></div>
<div class="ttc" id="aa00935_html_a59a3cfdacf3d0e5d10c20abee032cfc6"><div class="ttname"><a href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a></div><div class="ttdeci">BOOL APIENTRY OffsetRect(LPRECT prc, int cx, int cy)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00132">rect.c:132</a></div></div>
<div class="ttc" id="aa00371_html_ae61d954062a9ece52e350e54cad9a23d"><div class="ttname"><a href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a></div><div class="ttdeci">#define RIPERR0(idErr, flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00119">winerrp.h:119</a></div></div>
<div class="ttc" id="aa00899_html_abfae1dfb48db23dcea4494f7990ad6a6"><div class="ttname"><a href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a></div><div class="ttdeci">VOID ThreadLock(PVOID pobj, PTL ptl)</div></div>
<div class="ttc" id="aa02609_html"><div class="ttname"><a href="a02609.html">tagDESKTOPINFO</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01599">user.h:1599</a></div></div>
<div class="ttc" id="aa00017_html_a38f9f1cda93f580ed3ac238d15bd06f7"><div class="ttname"><a href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a></div><div class="ttdeci">DWORD BuildHwndList(HDESK hdesk, HWND hwndNext, BOOL fEnumChildren, DWORD idThread, HWND **pphwndFirst)</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00112">clenum.c:112</a></div></div>
<div class="ttc" id="aa03719_html_a1f4972bedfb6481f3116706ba83a70d1"><div class="ttname"><a href="a03719.html#a1f4972bedfb6481f3116706ba83a70d1">_GetDesktopWindow</a></div><div class="ttdeci">PWND _GetDesktopWindow(VOID)</div><div class="ttdef"><b>Definition:</b> <a href="a03719_source.html#l00990">kernel/winmgr.c:990</a></div></div>
<div class="ttc" id="aa02513_html_ad47c3c3836f1cb6cfb9ee4dd5d344496"><div class="ttname"><a href="a02513.html#ad47c3c3836f1cb6cfb9ee4dd5d344496">tagSERVERINFO::rcWork</a></div><div class="ttdeci">RECT rcWork</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01007">user.h:1007</a></div></div>
<div class="ttc" id="aa03719_html_ab6acf7cac97512048e6b9a0c786bd93a"><div class="ttname"><a href="a03719.html#ab6acf7cac97512048e6b9a0c786bd93a">_GetWindowPlacement</a></div><div class="ttdeci">BOOL _GetWindowPlacement(PWND pwnd, PWINDOWPLACEMENT pwp)</div><div class="ttdef"><b>Definition:</b> <a href="a03719_source.html#l00551">kernel/winmgr.c:551</a></div></div>
<div class="ttc" id="aa00365_html_ac638a1ce39dd10773c0133549503776e"><div class="ttname"><a href="a00365.html#ac638a1ce39dd10773c0133549503776e">CopyOffsetRect</a></div><div class="ttdeci">BOOL APIENTRY CopyOffsetRect(LPRECT prcDst, CONST RECT *prcSrc, int cx, int cy)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00067">rect.c:67</a></div></div>
<div class="ttc" id="aa02913_html"><div class="ttname"><a href="a02913.html">tagBWL</a></div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02493">userk.h:2493</a></div></div>
<div class="ttc" id="aa01881_html"><div class="ttname"><a href="a01881.html">_TL</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00347">usercli.h:347</a></div></div>
<div class="ttc" id="aa02581_html_a2778d611c2b27395e559c94d05732e1f"><div class="ttname"><a href="a02581.html#a2778d611c2b27395e559c94d05732e1f">tagWND::rcWindow</a></div><div class="ttdeci">RECT rcWindow</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01398">user.h:1398</a></div></div>
<div class="ttc" id="aa02581_html"><div class="ttname"><a href="a02581.html">tagWND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01388">user.h:1388</a></div></div>
<div class="ttc" id="aa03257_html_a01d6b23c241a057b5e276bc3095a01eb"><div class="ttname"><a href="a03257.html#a01d6b23c241a057b5e276bc3095a01eb">gpqForeground</a></div><div class="ttdeci">PQ gpqForeground</div><div class="ttdef"><b>Definition:</b> <a href="a03257_source.html#l00133">kernel/globals.c:133</a></div></div>
<div class="ttc" id="aa00851_html_ae82e6ab5253cf5a51f5e270f6b83ccb7"><div class="ttname"><a href="a00851.html#ae82e6ab5253cf5a51f5e270f6b83ccb7">xxxShowWindow</a></div><div class="ttdeci">BOOL xxxShowWindow(PWND pwnd, DWORD cmdShowAnimate)</div><div class="ttdef"><b>Definition:</b> <a href="a00851_source.html#l00081">showwin.c:81</a></div></div>
<div class="ttc" id="aa02581_html_a6053af0b243b6737640988eb63081de3"><div class="ttname"><a href="a02581.html#a6053af0b243b6737640988eb63081de3">tagWND::spwndParent</a></div><div class="ttdeci">struct tagWND * spwndParent</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01392">user.h:1392</a></div></div>
<div class="ttc" id="aa02569_html_a95d33e332d37066b5b5e05231b824991"><div class="ttname"><a href="a02569.html#a95d33e332d37066b5b5e05231b824991">tagCLS::atomClassName</a></div><div class="ttdeci">ATOM atomClassName</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01326">user.h:1326</a></div></div>
<div class="ttc" id="aa02457_html_a99314e2f6ea6b552b9538bbe7b7e64ba"><div class="ttname"><a href="a02457.html#a99314e2f6ea6b552b9538bbe7b7e64ba">_LARGE_UNICODE_STRING::Buffer</a></div><div class="ttdeci">PWSTR Buffer</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00284">user.h:284</a></div></div>
<div class="ttc" id="aa00371_html_a41f433389f20db57f042022a662e96de"><div class="ttname"><a href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a></div><div class="ttdeci">#define RIP_WARNING</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00029">winerrp.h:29</a></div></div>
<div class="ttc" id="aa00872_html_a71170c4c5e4c60d4bc657fe52eb8d8d2"><div class="ttname"><a href="a00872.html#a71170c4c5e4c60d4bc657fe52eb8d8d2">xxxSetWindowPos</a></div><div class="ttdeci">BOOL xxxSetWindowPos(PWND pwnd, PWND pwndInsertAfter, int x, int y, int cx, int cy, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a00872_source.html#l01169">swp.c:1169</a></div></div>
<div class="ttc" id="aa02869_html_a00f55b93fb49e91ab92e90fde747d716"><div class="ttname"><a href="a02869.html#a00f55b93fb49e91ab92e90fde747d716">tagQ::spwndActive</a></div><div class="ttdeci">PWND spwndActive</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02168">userk.h:2168</a></div></div>
<div class="ttc" id="aa03257_html_a3f749009e2dddfbcdd946cdc60859d5d"><div class="ttname"><a href="a03257.html#a3f749009e2dddfbcdd946cdc60859d5d">gfAnimate</a></div><div class="ttdeci">BOOL gfAnimate</div><div class="ttdef"><b>Definition:</b> <a href="a03257_source.html#l00019">kernel/globals.c:19</a></div></div>
<div class="ttc" id="aa02845_html_a9fe79cc97641b35f6cb5edbb866d7605"><div class="ttname"><a href="a02845.html#a9fe79cc97641b35f6cb5edbb866d7605">tagCHECKPOINT::ptMax</a></div><div class="ttdeci">POINT ptMax</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01995">userk.h:1995</a></div></div>
<div class="ttc" id="aa03719_html_ac36cfede9f8f282d7abf1756d093b1bb"><div class="ttname"><a href="a03719.html#ac36cfede9f8f282d7abf1756d093b1bb">xxxDoSend</a></div><div class="ttdeci">LONG xxxDoSend(PWND pwnd, UINT message, DWORD wParam, LONG lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a03719_source.html#l00112">kernel/winmgr.c:112</a></div></div>
<div class="ttc" id="aa02457_html_ad355c4270a8465c419a47e3e68098cf1"><div class="ttname"><a href="a02457.html#ad355c4270a8465c419a47e3e68098cf1">_LARGE_UNICODE_STRING::MaximumLength</a></div><div class="ttdeci">ULONG MaximumLength</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00282">user.h:282</a></div></div>
<div class="ttc" id="aa02913_html_abebc9955f9d1fbc422612b6eab345d2e"><div class="ttname"><a href="a02913.html#abebc9955f9d1fbc422612b6eab345d2e">tagBWL::rghwnd</a></div><div class="ttdeci">HWND rghwnd[1]</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02498">userk.h:2498</a></div></div>
<div class="ttc" id="aa02845_html_a2c65e80bbbe036ba49153ce5f3795093"><div class="ttname"><a href="a02845.html#a2c65e80bbbe036ba49153ce5f3795093">tagCHECKPOINT::fMinInitialized</a></div><div class="ttdeci">int fMinInitialized</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01999">userk.h:1999</a></div></div>
<div class="ttc" id="aa02457_html_abfb371817eb1c8f0d8a165bb2b798092"><div class="ttname"><a href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">_LARGE_UNICODE_STRING::Length</a></div><div class="ttdeci">ULONG Length</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00281">user.h:281</a></div></div>
<div class="ttc" id="aa02845_html_acc087a9c4ea3e8078c23b9cc607ca679"><div class="ttname"><a href="a02845.html#acc087a9c4ea3e8078c23b9cc607ca679">tagCHECKPOINT::fDragged</a></div><div class="ttdeci">int fDragged</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01996">userk.h:1996</a></div></div>
<div class="ttc" id="aa03290_html_a9eb8f3351ef77ddcac4a4f2a7375a1a2"><div class="ttname"><a href="a03290.html#a9eb8f3351ef77ddcac4a4f2a7375a1a2">_AttachThreadInput</a></div><div class="ttdeci">BOOL _AttachThreadInput(PTHREADINFO ptiAttach, PTHREADINFO ptiAttachTo, BOOL fAttach)</div><div class="ttdef"><b>Definition:</b> <a href="a03290_source.html#l05871">kernel/input.c:5871</a></div></div>
<div class="ttc" id="aa03608_html_afd1a0e78d1f88954d93e48ab3821781f"><div class="ttname"><a href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a></div><div class="ttdeci">typedef UINT(FAR WINAPI *MSGSOUNDPROC)()</div></div>
<div class="ttc" id="aa00365_html_abdca6a2346c0c6e4e7857a9edd89be3f"><div class="ttname"><a href="a00365.html#abdca6a2346c0c6e4e7857a9edd89be3f">TextCopy</a></div><div class="ttdeci">UINT TextCopy(PLARGE_UNICODE_STRING pstr, LPWSTR lpstr, UINT size)</div><div class="ttdef"><b>Definition:</b> <a href="a03650_source.html#l00108">rtl/random.c:108</a></div></div>
<div class="ttc" id="aa00899_html_a70b09c3e2b495630f4205d34be505afb"><div class="ttname"><a href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a></div><div class="ttdeci">VOID CheckLock(PVOID pobj)</div></div>
<div class="ttc" id="aa02845_html_a52f4f42fa860496686881220968cea87"><div class="ttname"><a href="a02845.html#a52f4f42fa860496686881220968cea87">tagCHECKPOINT::rcNormal</a></div><div class="ttdeci">RECT rcNormal</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l01993">userk.h:1993</a></div></div>
<div class="ttc" id="aa02609_html_a68937d60a6f49b7a8431db62b38ea721"><div class="ttname"><a href="a02609.html#a68937d60a6f49b7a8431db62b38ea721">tagDESKTOPINFO::spwnd</a></div><div class="ttdeci">struct tagWND * spwnd</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01603">user.h:1603</a></div></div>
<div class="ttc" id="aa02889_html"><div class="ttname"><a href="a02889.html">tagTHREADINFO</a></div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02260">userk.h:2260</a></div></div>
<div class="ttc" id="aa02581_html_a6171c9000ea2060597a9bcf498ee0316"><div class="ttname"><a href="a02581.html#a6171c9000ea2060597a9bcf498ee0316">tagWND::spwndChild</a></div><div class="ttdeci">struct tagWND * spwndChild</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01393">user.h:1393</a></div></div>
<div class="ttc" id="aa00935_html_a31ccccdb469eefbb55d18b71a26af0da"><div class="ttname"><a href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a></div><div class="ttdeci">BOOL APIENTRY CopyRect(LPRECT prcDst, CONST RECT *prcSrc)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00391">rect.c:391</a></div></div>
<div class="ttc" id="aa02889_html_a76d4881aa4c15330103e83a80e6b5dc7"><div class="ttname"><a href="a02889.html#a76d4881aa4c15330103e83a80e6b5dc7">tagTHREADINFO::pDeskInfo</a></div><div class="ttdeci">PDESKTOPINFO pDeskInfo</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02291">userk.h:2291</a></div></div>
<div class="ttc" id="aa02581_html_a17d59d04094aef8b577c0aa781cdf2c6"><div class="ttname"><a href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">tagWND::rcClient</a></div><div class="ttdeci">RECT rcClient</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01399">user.h:1399</a></div></div>
<div class="ttc" id="aa00020_html_ad760da1dd81d9e84dee607d18edfde39"><div class="ttname"><a href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a></div><div class="ttdeci">PSERVERINFO gpsi</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00039">clglobal.c:39</a></div></div>
<div class="ttc" id="aa02845_html_ab1313e152ddd6c696ff4aee219da2c91"><div class="ttname"><a href="a02845.html#ab1313e152ddd6c696ff4aee219da2c91">tagCHECKPOINT::fMaxInitialized</a></div><div class="ttdeci">int fMaxInitialized</div><div class="ttdef"><b>Definition:</b> <a href="a00899_source.html#l02000">userk.h:2000</a></div></div>
<div class="ttc" id="aa02457_html"><div class="ttname"><a href="a02457.html">_LARGE_UNICODE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00280">user.h:280</a></div></div>
<div class="ttc" id="aa00635_html_ad1908c0de0a6ebffae68b4933bcf185a"><div class="ttname"><a href="a00635.html#ad1908c0de0a6ebffae68b4933bcf185a">LinkWindow</a></div><div class="ttdeci">void LinkWindow(PWND pwnd, PWND pwndInsert, PWND *ppwndFirst)</div><div class="ttdef"><b>Definition:</b> <a href="a00635_source.html#l01198">createw.c:1198</a></div></div>
<div class="ttc" id="aa00701_html_a4a596c02b66f7f049c18711b882e0b89"><div class="ttname"><a href="a00701.html#a4a596c02b66f7f049c18711b882e0b89">xxxCallHook</a></div><div class="ttdeci">int xxxCallHook(int nCode, DWORD wParam, DWORD lParam, int iHook)</div><div class="ttdef"><b>Definition:</b> <a href="a00701_source.html#l00954">hooks.c:954</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_885cc87fac2d91e269af0a5a959fa5f6.html">E:</a></li><li class="navelem"><a class="el" href="dir_4e091ed8704426a7a4980368ba259fde.html">git</a></li><li class="navelem"><a class="el" href="dir_cd70cb5eb491250157f2d55d3ff4b13e.html">backup</a></li><li class="navelem"><a class="el" href="dir_ba2b673b566ba104b956abdc6dec0552.html">org</a></li><li class="navelem"><a class="el" href="dir_5bb0003d7907b45051943541418399f5.html">ntuser</a></li><li class="navelem"><a class="el" href="dir_2a0a56546b70a0973705719e6a88eab3.html">kernel</a></li><li class="navelem"><a class="el" href="a03719.html">winmgr.c</a></li>
    <li class="footer">制作者
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
